//#define  _CRT_SECURE_NO_WARNINGS
//#include<iostream>
//#include<vector>
//#include<string>
//#include<algorithm>
//using namespace std;
//
//
//class compare1
//{
//public:
//	bool operator()(int value)
//	{
//		return value > 20;
//	}
//};
//
//void test01()
//{
//	vector<int>v1;
//	v1.push_back(10);
//	v1.push_back(10);
//	v1.push_back(20);
//	v1.push_back(40);
//	v1.push_back(10);
//	v1.push_back(50);
//
//	int sum = count_if(v1.begin(), v1.end(), compare1());
//	cout << sum << endl;
//}
//
//class person
//{
//public:
//	string m_name;
//	int m_age;
//	person(string name, int age)
//	{
//		this->m_name = name;
//		this->m_age = age;
//	}
//};
//
//class compare2
//{
//public:
//	bool operator()(const person p)
//	{
//		return p.m_age > 20;
//	}
//};
//
//void test02()
//{
//	vector<person>v2;
//	person p1("aaa", 20);
//	person p2("aab", 120);
//	person p3("aac", 30);
//	person p4("aad", 20);
//	v2.push_back(p1);
//	v2.push_back(p2);
//	v2.push_back(p3);
//	v2.push_back(p4);
//	int num = count_if(v2.begin(), v2.end(), compare2());
//	cout << num << endl;
//}
//
//
//int main()
//{
//	test01();
//	test02();
//	return 0;
//}